﻿//#include <stdio.h>
//typedef struct BTNode
//{
//	char data;
//	struct BTNode* lchild;
//	struct BTNode* rchild;
//}BiTree;
//#define MaxSize 10
//#include<stdlib.h>
//BiTree* BiTreeCreate_1(const char* vlr, const char* lvr, int n, int count) {
//	if (n == 0) {
//		return NULL;
//	}
//	int k = 0;
//	while (vlr[0] != lvr[k])
//	{
//		k++;
//	}
//	BiTree* t = (BiTree*)malloc(sizeof(BiTree));
//	t->data = lvr[k];
//	count++;
//	printf("%d@@@@左子树-%s;%s;%d\n", count, vlr + 1, lvr, k);
//	t->lchild = BiTreeCreate_1(vlr + 1, lvr, k, count);
//	printf("%d####右子树-%s;%s;%d;\n", count, vlr + k + 1, lvr + k + 1, n - k - 1);
//	t->rchild = BiTreeCreate_1(vlr + k + 1, lvr + k + 1, n - k - 1, count);
//	return t;
//}
//int main() {
//	char str1[9] = "ABDFGEHC";
//	char str2[9] = "FDGBEHAC";
//	BiTreeCreate_1(str1, str2, 8, 0);
//}

////交换二叉树中每个结点的左孩子和右孩子
//#include <stdio.h>
//#include <stdlib.h>
//#include <string.h>
//typedef struct Tree {
//    char a;
//    struct Tree* leftchild;
//    struct Tree* rightchild;
//}Tree;
////创造结点并初始化
//void Creat(Tree* Node) {
//    Node->leftchild = (Tree*)malloc(sizeof(Tree));
//    Node->rightchild = (Tree*)malloc(sizeof(Tree));
//    Node->leftchild->a = Node->rightchild->a = 0;
//}
////将数据插入二叉树中
//void Input(char* str, Tree* Node) {
//    static int i = -1;
//    i++;
//    if (*(str + i) == '#') {
//        return;
//    }
//    Node->a = *(str + i);
//    Creat(Node);
//    Input(str, Node->leftchild);
//    Input(str, Node->rightchild);
//}
////中序遍历
//void Output(Tree* Node) {
//    if (!Node->a) {
//        return;
//    }
//    Output(Node->leftchild);
//    fprintf(stdout, "%c", Node->a);
//    Output(Node->rightchild);
//}
////交换左右孩子结点,其实就是将二叉树直接反转
//Tree* SwapNode(Tree* Node) {
//    if (!Node->a) {
//        return Node;
//    }
//    Tree* rightchild = SwapNode(Node->leftchild);
//    Tree* leftchild = SwapNode(Node->rightchild);
//    Node->leftchild = leftchild;
//    Node->rightchild = rightchild;
//    return Node;
//}
//int main() {
//    char str[101];
//    fgets(str, 101, stdin);
//    //*(str + strlen(str) - 1) = 0;
//    Tree* Node = (Tree*)malloc(sizeof(Tree));
//    Node->a = 0;
//    Input(str, Node);
//    Output(Node);
//    puts("");
//    Node = SwapNode(Node);
//    Output(Node);
//    return 0;
//}